1. Technical Field
The present invention relates in general to networks of computer systems and devices and in particular to the use of programmable network interface cards or logic within such networks. Still more particularly, the present invention relates to the use of programmable network interface cards to provide additional functions including service processor functions.
2. Description of the Related Art
There is a desire within the computer network industry to provide more efficient ways to manage a farm or cluster of thin servers or server appliances being utilized for web-based application service as a single system while maintaining multiple execution images.
Currently, server systems that require management often contain service processor cards with a standard microprocessor, local memory, and a standard bus interface. Additionally, the server systems usually include an interface to a specialized management bus located on the server system planar. State-of-the-art examples of service processor cards include the Wiseman card manufactured by International Business Machines Corporation for Netfinity and related products, integrated implementations of the same function, and the Emergency Management Processor (EMP) card manufactured by Intel Corporation. Another example is the implementation by Intel Corporation of the management bus, baseboard management controller and processor, and emergency management port on the system planar.
However, the above implementations exhibit several disadvantages when utilized with thin servers. A first disadvantage is that extra logic is added to the server system either as a discrete card or integrated on the planar. The extra logic raises the cost of the system, consumes physical space, and increases the power consumption heat within the enclosure. A second disadvantage is that when implemented as a discrete card, the service processor card utilizes a bus slot, usually on the PCI bus, which has a limited number of bus slots available. Finally, a third disadvantage is exhibited because the service processor implementations all have one or more private interfaces that must be externalized by external cabling. The external cabling increases the amount of space and the overall number of cables required. Often, the network connection that is utilized is a serial network connection that requires concentrators, and thus utilizes an even larger number of cables, making the network cumbersome to configure and manage.
Current server systems with a service processor implementation (card or integrated) contain both a general network interface and the service processor, which, in turn, has a private network interface that is typically a serial one, as noted above. The network interface card is an input/output (I/O) device, usually attached by an I/O bus to processor and memory, while the service processor is attached not only to the I/O bus but also to a bus such as the Inter-Integrated Circuit (I2C) bus that gives it access to hardware sensor information such as power levels, temperatures, fan speeds and so forth.
Typically, both the network interface card (or logic) and the service processor are programmable, and since the service processor is connected to the external world through one or more communications interfaces, both have physical network connectors and network hardware and software implementations. Also, the network interface card has to be “awake” enough to respond to wake-on-LAN packets, and the service processor generally supports an interface for powering-up the system. Thus, both require some form of always-active logic and partial power.
Also related to the present invention is “SPINE” work on programming network interfaces cards being done at the University of Washington. SPINE supports programming the network interface cards and concentrates on moving communications protocol processing from the operating system to the network interface card. Like the other systems described above, the SPINE requires a separate network for management.
The present invention recognizes that it would be a welcomed improvement to remove the hardware and software redundancies inherent with separate network interface and service processor components. The present invention further recognizes that it would be particularly desirable to incorporate the service processor and network interface functions into a programmable network interface card to reduce the duplication of hardware in a thin server or server appliance environment. These and other benefits are provided by the present invention.